Everything about Nondeterministic Finite State Machine totally explained
In the
theory of computation, a
nondeterministic finite state machine or
nondeterministic finite automaton (NFA) is a
finite state machine where for each pair of state and input symbol there may be several possible next states. This distinguishes it from the
deterministic finite automaton (DFA), where the next possible state is uniquely determined. Although the DFA and NFA have distinct definitions, it may be shown in the formal theory that they're equivalent, in that, for any given NFA, one may construct an equivalent DFA, and vice-versa: this is the
powerset construction. Both types of automata recognize only
regular languages. Non-deterministic finite state machines are sometimes studied by the name
subshifts of finite type. Non-deterministic finite state machines are generalized by
probabilistic automata, which assign a probability to each state transition.
Nondeterministic finite automata were introduced by
Michael O. Rabin and
Dana Scott in 1959, who showed their equivalence to deterministic automata.
Intuitive introduction
An NFA, just as a DFA, consumes a string of input symbols. For each input symbol it transforms to a new state until all input symbols have been consumed.
Unlike a DFA, it's non-deterministic in that, for any input symbol, its next state isn't uniquely determined, but may be any one of several possible states. Thus, in the formal definition, it's common to talk of a subset of the
power set of states: the transition isn't so much to a single state, but to some subset of all possible states, considered at once.
An extension of the NFA is the
NFA-lambda (also known as
NFA-epsilon or the
NFA with epsilon moves), which allows a transform to a new state without consuming any input symbols. For example, if it's in state 1, with the next input symbol an
a, it can move to state 2 without consuming any input symbols, and thus there's an ambiguity: is the system in state 1, or state 2, before consuming the letter
a? Because of this ambiguity, it's more convenient to talk of the set of possible states the system may be in. Thus, before consuming letter
a, the NFA-epsilon may be in any one of the states out of the set .
The language of
M can be described by the
regular language given by this
regular expression:
»
Application of NFA-ε
NFAs and DFAs are equivalent in that if a language is recognized by an NFA, it's also recognized by a DFA and vice versa. The establishment of such equivalence is important and useful. It is useful because constructing an NFA to recognize a given language is sometimes much easier than constructing a DFA for that language. It is important because NFA's can be used to reduce the complexity of the mathematical work required to establish many important properties in the
theory of computation. For example, it's much easier to prove the following properties using NFAs than DFAs:
(i) The union of two
regular languages is regular. (See
formal proof. )
(ii) The concatenation of two
regular languages is regular. (See
formal proof. )
(iii) The
Kleene Closure of a
regular language is regular. (See
formal proof. )
Further Information
Get more info on 'Nondeterministic Finite State Machine'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://nondeterministic_finite_state_machine.totallyexplained.com">Nondeterministic finite state machine Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |